﻿using FlexFlow.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FlexFlow.Base.Interface
{
    /// <summary>
    /// 表示活动实例提供器接口
    /// </summary>
    public interface IActivityInstanceProvider : IPhysicalEntityProvider<ActivityInstance>
    {
        /// <summary>
        /// 更新指定活动实例的状态
        /// </summary>
        /// <param name="actInsId">
        /// 活动实例Id
        /// </param>
        /// <param name="state">
        /// 要更新为的状态
        /// </param>
        /// <returns>
        /// 一个值，表示更新操作是否成功
        /// </returns>
        bool UpdateState(Guid actInsId, ActivityInstanceState state);
        /// <summary>
        /// 更新指定活动实例的绑定数据
        /// </summary>
        /// <param name="actInsID">
        /// 活动实例ID
        /// </param>
        /// <param name="data">
        /// 绑定数据
        /// </param>
        /// <returns>
        /// 一个值，表示更新是否成功
        /// </returns>
        bool UpdateData(Guid actInsID, Dictionary<string, string> data);
    }
}
